package com.example.demo;

import com.jfinal.kit.Kv;
import com.jfinal.template.Engine;
import com.jfinal.template.Template;
import io.github.stylesmile.annotation.AutoWired;
import io.github.stylesmile.annotation.Controller;
import io.github.stylesmile.annotation.RequestMapping;
import io.github.stylesmile.app.App;
import io.github.stylesmile.server.Headers;
import io.github.stylesmile.server.Request;
import io.github.stylesmile.server.Response;
import io.github.stylesmile.web.HtmlView;
import io.github.stylesmile.web.ModelAndView;

import java.io.*;
import java.nio.charset.StandardCharsets;

@Controller
public class Application {
    @AutoWired
    Engine engine;
    public static void main(String[] args) {
        App.start(Application.class, args);
    }

    @RequestMapping("/")
    public String hello() {
        return "hello fastboot";
    }

    @RequestMapping("/1")
    public String hello1() {
        return "hello fastboot";
    }

    @RequestMapping("/doc.html1")
    public ModelAndView doc(Request request, Response response) throws IOException {
        // 获取文件路径
        String propertiesPath = this.getClass().getProtectionDomain().getCodeSource().getLocation().getFile();
        InputStream in = null;
        String docHtmlPath = "/templates/doc.html";
        try {
            //<!--第一种，通过类加载器进行获取properties文件流-->
            if (propertiesPath.contains("/target/classes")) {
                in = new FileInputStream(propertiesPath + docHtmlPath);
            } else {
                in = this.getClass().getClassLoader().getResourceAsStream(docHtmlPath);
            }
            if (in == null) {
                System.err.println("application.properties " + "文件未找到");
            }
            String filePath2 = propertiesPath + docHtmlPath;
            BufferedReader reader = new BufferedReader(new FileReader(filePath2));
            StringBuffer stringBuffer = new StringBuffer();
            String line;
            while ((line = reader.readLine()) != null) {
                stringBuffer.append(line);
                System.out.println(line);
            }
            String strHtml = "<!DOCTYPE html>\n" +
                    "<html>\n" +
                    "\t<head>\n" +
                    "\t\t<meta charset=\"utf-8\">\n" +
                    "\t\t<title></title>\n" +
                    "\t</head>\n" +
                    "\t<body>\n" +
                    "\t\thello html world!~\n" +
                    "\t</body>\n" +
                    "</html>";

            Headers headers = response.getHeaders();
//            headers.add("Content-Type", "application/json; charset=utf-8");
            headers.add("Content-Type", "text/html; charset=utf-8");
            headers.add("Access-Control-Allow-Origin", "*");
            headers.add("Access-Control-Allow-Methods", "GET,POST,PUT,DELETE,OPTIONS");
            headers.add("Access-Control-Allow-Headers", "Origin,X-Requested-With,Content-Type,Accept");
            OutputStream outputStream = response.getOutputStream();
            response.send(200, stringBuffer.toString());
            //将响应结果写到外面
            outputStream.write(stringBuffer.toString().getBytes(StandardCharsets.UTF_8));
            return new ModelAndView();
        } catch (FileNotFoundException e) {
            System.err.println(e + "文件未找到");
        } finally {
            try {
//                System.in.read();
                if (null != in) {
                    in.close();
                }
            } catch (IOException e) {
//				logger.error("jdbc.properties文件流关闭出现异常");
            }
        }

        // 使用ClassLoader读取文件
//        InputStream inputStream = ReadStaticFileFromJar.class.getResourceAsStream(filePath);

        // 将输入流转换为BufferedReader
//        BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, StandardCharsets.UTF_8));
        return new ModelAndView();
    }

    @RequestMapping("/2")
    public ModelAndView test(Request request, Response response) throws IOException {
        String filePath = "C:\\Users\\32398\\Desktop\\openapi2\\doc.html";
        java.nio.file.Path path = java.nio.file.Paths.get(filePath);
        byte[] bytes = java.nio.file.Files.readAllBytes(path);
        OutputStream outputStream = response.getOutputStream();
        outputStream.write(bytes);
        return new ModelAndView();
    }

    @RequestMapping("/3")
    public ModelAndView api3(Request request, Response response) throws IOException {
        String filePath = "C:\\Users\\32398\\Desktop\\openapi2\\doc.html";
        String strHtml = "<!DOCTYPE html>\n" +
                "<html>\n" +
                "\t<head>\n" +
                "\t\t<meta charset=\"utf-8\">\n" +
                "\t\t<title></title>\n" +
                "\t</head>\n" +
                "\t<body>\n" +
                "\t\thello html world!~\n" +
                "\t</body>\n" +
                "</html>";
        String strHtml2 = "<!DOCTYPE html>\n" +
                "<!-- saved from url=(0036)http://localhost:8088/doc.html#/home -->\n" +
                "<html lang=\"en\" version=\"4\"><merlin-component id=\"merlin-context-btn\" class=\"merlin context-btn\"></merlin-component><merlin-component id=\"merlin-chat\" class=\"merlin chat\"></merlin-component><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"><meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\"><meta name=\"viewport\" content=\"width=device-width,initial-scale=1\"><link rel=\"icon\" href=\"http://localhost:8080/favicon.ico\"><title>Knife4j????</title><link href=\"http://localhost:8080/webjars/css/chunk-75464e7e.8fb93ba5.css\" rel=\"prefetch\"><link href=\"http://localhost:8080/webjars/css/chunk-d7d5f59c.a9ffbfcb.css\" rel=\"prefetch\"><link href=\"http://localhost:8080/webjars/js/chunk-069eb437.355c4fb0.js\" rel=\"prefetch\"><link href=\"http://localhost:8080/webjars/js/chunk-0d102d5a.b2bddffc.js\" rel=\"prefetch\"><link href=\"http://localhost:8080/webjars/js/chunk-0fd67716.d57e2c41.js\" rel=\"prefetch\"><link href=\"http://localhost:8080/webjars/js/chunk-260d712a.390177fe.js\" rel=\"prefetch\"><link href=\"http://localhost:8080/webjars/js/chunk-2d0af44e.392afcd6.js\" rel=\"prefetch\"><link href=\"http://localhost:8080/webjars/js/chunk-2d0bd799.eb48b7f1.js\" rel=\"prefetch\"><link href=\"http://localhost:8080/webjars/js/chunk-2d0da532.591ad7fc.js\" rel=\"prefetch\"><link href=\"http://localhost:8080/webjars/js/chunk-3b888a65.8737ce4f.js\" rel=\"prefetch\"><link href=\"http://localhost:8080/webjars/js/chunk-3ec4aaa8.a79d19f8.js\" rel=\"prefetch\"><link href=\"http://localhost:8080/webjars/js/chunk-589faee0.5bfd1708.js\" rel=\"prefetch\"><link href=\"http://localhost:8080/webjars/js/chunk-735c675c.5b409314.js\" rel=\"prefetch\"><link href=\"http://localhost:8080/webjars/js/chunk-75464e7e.b130271b.js\" rel=\"prefetch\"><link href=\"http://localhost:8080/webjars/js/chunk-adb9e944.2c7f24fe.js\" rel=\"prefetch\"><link href=\"http://localhost:8080/webjars/js/chunk-d7d5f59c.e61130f3.js\" rel=\"prefetch\"><link href=\"./doc_files/app.8a48e86b.css\" rel=\"preload\" as=\"style\"><link href=\"./doc_files/chunk-vendors.f24a310a.css\" rel=\"preload\" as=\"style\"><link href=\"./doc_files/app.9fa057ee.js\" rel=\"preload\" as=\"script\"><link href=\"./doc_files/chunk-vendors.d51cf6f8.js\" rel=\"preload\" as=\"script\"><link href=\"./doc_files/chunk-vendors.f24a310a.css\" rel=\"stylesheet\"><link href=\"./doc_files/app.8a48e86b.css\" rel=\"stylesheet\"><style id=\"ace_editor.css\">.ace_editor {position: relative;overflow: hidden;font: 12px/normal 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace;direction: ltr;text-align: left;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;cursor: text;}.ace_content {position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;min-width: 100%;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: '';background: rgba(250, 250, 250, 0.01);z-index: 1000;}.ace_dragging.ace_dark .ace_scroller:before{background: rgba(0, 0, 0, 0.01);}.ace_selecting, .ace_selecting * {cursor: text !important;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url(\"\");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url(\"\");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url(\"\");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url(\"\");}.ace_scrollbar {position: absolute;right: 0;bottom: 0;z-index: 6;}.ace_scrollbar-inner {position: absolute;cursor: text;left: 0;top: 0;}.ace_scrollbar-v{overflow-x: hidden;overflow-y: scroll;top: 0;}.ace_scrollbar-h {overflow-x: scroll;overflow-y: hidden;left: 0;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;font: inherit;padding: 0 1px;margin: 0 -1px;text-indent: -1em;-ms-user-select: text;-moz-user-select: text;-webkit-user-select: text;user-select: text;white-space: pre!important;}.ace_text-input.ace_composition {background: inherit;color: inherit;z-index: 1000;opacity: 1;text-indent: 0;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;word-wrap: normal;white-space: pre;height: 100%;width: 100%;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;}.ace_text-layer {font: inherit !important;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;border-left: 2px solid;transform: translatez(0);}.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_slim-cursors .ace_cursor {border-left-width: 1px;}.ace_overwrite-cursors .ace_cursor {border-left-width: 0;border-bottom: 1px solid;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_smooth-blinking .ace_cursor {-webkit-transition: opacity 0.18s;transition: opacity 0.18s;}.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;}.ace_line .ace_fold {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image:url(\"\"),url(\"\");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image:url(\"\"),url(\"\");}.ace_tooltip {background-color: #FFF;background-image: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.1));background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));border: 1px solid gray;border-radius: 1px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);color: black;max-width: 100%;padding: 3px 4px;position: fixed;z-index: 999999;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;cursor: default;white-space: pre;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;pointer-events: none;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;margin: 0 -12px 0 1px;display: none;width: 11px;vertical-align: top;background-image: url(\"\");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;cursor: pointer;}.ace_folding-enabled .ace_fold-widget {display: inline-block;   }.ace_fold-widget.ace_end {background-image: url(\"\");}.ace_fold-widget.ace_closed {background-image: url(\"\");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}.ace_dark .ace_fold-widget {background-image: url(\"\");}.ace_dark .ace_fold-widget.ace_end {background-image: url(\"\");}.ace_dark .ace_fold-widget.ace_closed {background-image: url(\"\");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fold-widget:active {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);}.ace_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {-webkit-transition: opacity 0.4s ease 0.05s;transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {-webkit-transition: opacity 0.05s ease 0.05s;transition: opacity 0.05s ease 0.05s;opacity:1;}.ace_underline {text-decoration: underline;}.ace_bold {font-weight: bold;}.ace_nobold .ace_bold {font-weight: normal;}.ace_italic {font-style: italic;}.ace_error-marker {background-color: rgba(255, 0, 0,0.2);position: absolute;z-index: 9;}.ace_highlight-marker {background-color: rgba(255, 255, 0,0.2);position: absolute;z-index: 8;}.ace_br1 {border-top-left-radius    : 3px;}.ace_br2 {border-top-right-radius   : 3px;}.ace_br3 {border-top-left-radius    : 3px; border-top-right-radius:    3px;}.ace_br4 {border-bottom-right-radius: 3px;}.ace_br5 {border-top-left-radius    : 3px; border-bottom-right-radius: 3px;}.ace_br6 {border-top-right-radius   : 3px; border-bottom-right-radius: 3px;}.ace_br7 {border-top-left-radius    : 3px; border-top-right-radius:    3px; border-bottom-right-radius: 3px;}.ace_br8 {border-bottom-left-radius : 3px;}.ace_br9 {border-top-left-radius    : 3px; border-bottom-left-radius:  3px;}.ace_br10{border-top-right-radius   : 3px; border-bottom-left-radius:  3px;}.ace_br11{border-top-left-radius    : 3px; border-top-right-radius:    3px; border-bottom-left-radius:  3px;}.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius:  3px;}.ace_br13{border-top-left-radius    : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius:  3px;}.ace_br14{border-top-right-radius   : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius:  3px;}.ace_br15{border-top-left-radius    : 3px; border-top-right-radius:    3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_text-input-ios {position: absolute !important;top: -100000px !important;left: -100000px !important;}\n" +
                "/*# sourceURL=ace/css/ace_editor.css */</style><style id=\"ace-tm\">.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url(\"\") right repeat-y;}\n" +
                "/*# sourceURL=ace/css/ace-tm */</style><style>    .error_widget_wrapper {        background: inherit;        color: inherit;        border:none    }    .error_widget {        border-top: solid 2px;        border-bottom: solid 2px;        margin: 5px 0;        padding: 10px 40px;        white-space: pre-wrap;    }    .error_widget.ace_error, .error_widget_arrow.ace_error{        border-color: #ff5a5a    }    .error_widget.ace_warning, .error_widget_arrow.ace_warning{        border-color: #F1D817    }    .error_widget.ace_info, .error_widget_arrow.ace_info{        border-color: #5a5a5a    }    .error_widget.ace_ok, .error_widget_arrow.ace_ok{        border-color: #5aaa5a    }    .error_widget_arrow {        position: absolute;        border: solid 5px;        border-top-color: transparent!important;        border-right-color: transparent!important;        border-left-color: transparent!important;        top: -5px;    }</style></head><body><svg aria-hidden=\"true\" style=\"position: absolute; width: 0px; height: 0px; overflow: hidden;\"><symbol id=\"icon-modeling\" viewBox=\"0 0 1024 1024\"><path d=\"M934.368 283.376l0 457.248L513.936 1008 89.632 740.624 89.632 283.376 513.936 16 934.368 283.376zM891.744 306.624 513.936 68.32 132.256 306.624l0 410.752L513.936 955.68l377.808-238.32L891.744 306.624zM205.872 300.816c21.968 0 37.456 8.4 46.496 25.184l513.44 0c7.744-16.784 22.544-25.184 44.56-25.184 25.824 0 43.856 14.848 54.256 44.56 0 16.784-4.576 31.008-13.568 42.624-9.04 11.632-22.608 17.44-40.688 17.44-14.272 0-25.888-4.528-34.88-13.568L275.632 668.944c0 14.208-5.168 26.48-15.504 36.816-10.384 10.336-22.608 15.504-36.816 15.504-15.504 0-28.416-4.848-38.752-14.528-10.352-9.68-15.504-21.648-15.504-35.84 0-10.336 2.912-19.696 8.72-28.096s12.592-15.168 20.336-20.336l-11.632-220.88c-21.984-10.336-32.944-27.12-32.944-50.368 0-14.208 5.136-26.16 15.504-35.84C179.392 305.664 191.648 300.816 205.872 300.816zM256.256 370.56c-6.512 12.912-15.504 22.608-27.12 29.056l13.568 220.88c2.592 0 4.848 0.64 6.784 1.936s4.144 2.576 6.784 3.872L727.056 370.56 256.256 370.56zM389.936 506.192c-14.272-1.296-25.504-7.104-33.904-17.44-8.448-10.336-12.592-21.968-12.592-34.88 0-14.208 4.528-26.48 13.568-36.816 8.992-10.336 22.544-15.504 40.688-15.504l5.808-19.376 48.432 0-13.568 36.816c6.464 10.336 9.68 21.312 9.68 32.944 0 18.08-5.168 31.008-15.504 38.752l5.808 23.248-38.752 21.312L389.936 506.192zM761.936 597.248c14.208 0 25.184 5.168 32.944 15.504s11.632 22.608 11.632 36.816-4.208 26.48-12.592 36.816c-8.448 10.336-21.648 15.504-39.712 15.504-7.744 0-15.504-1.936-23.248-5.808l-168.56 124c0 2.576 0.272 4.848 0.976 6.784 0.64 1.936 0.976 3.552 0.976 4.848 0 14.208-5.168 26.8-15.504 37.776-10.384 10.992-22.608 16.464-36.816 16.464-15.504 0-28.416-5.488-38.752-16.464-10.384-10.992-15.504-23.584-15.504-37.776 0-16.8 6.464-29.696 19.376-38.752l-58.128-193.744 38.752-19.376 60.064 199.568c7.744 0 14.208 2.576 19.376 7.744l166.624-125.936c0-10.336 0.64-19.696 1.936-28.096 1.232-8.384 5.104-15.168 11.632-20.336l-67.808-135.632 38.752-21.312L761.936 597.248zM512 116.752c14.208 0 26.416 5.168 36.816 15.504 10.336 10.336 15.504 22.608 15.504 36.816 0 9.04-3.232 18.72-9.68 29.056l60.064 116.256L564.32 314.384c-6.512-12.912-13.888-28.736-22.288-47.472-8.448-18.72-17.76-33.264-28.096-43.6l-36.816 91.056-44.56 0 40.688-108.496c-10.384-9.04-15.504-21.312-15.504-36.816 0-14.208 4.848-26.48 14.528-36.816S495.216 116.752 512 116.752zM616.624 417.056l-17.44-34.88 50.368 0 5.808 15.504L616.624 417.056z\"></path></symbol><symbol id=\"icon-home\" viewBox=\"0 0 1024 1024\"><path d=\"M62.900896 424.812249l391.020899-306.640062c33.433712-26.454357 85.818613-26.421844 119.20175 0l388.055034 306.697862c13.25066 10.501545 15.515699 29.763409 5.053891 43.017682-10.476258 13.257885-29.763409 15.526536-43.024907 5.053891l-12.553447-9.927157 0 370.790884c0 52.572751-54.472927 91.851492-103.212813 91.851492L195.078755 925.65684c-48.132985 0-80.497396-36.92339-80.497396-91.851492L114.581359 462.096888l-13.864785 10.87002c-5.639117 4.407253-12.249996 6.527792-18.864489 6.52418-9.092669 0-18.095026-4.006265-24.127905-11.726184C47.284047 454.481733 49.614111 435.227094 62.900896 424.812249L62.900896 424.812249zM420.759021 800.498074l0 63.930459 183.71021 0 0-171.395188c0-35.615664-28.751909-73.915417-91.855105-73.915417-63.135709 0-91.855105 38.299753-91.855105 73.915417L420.759021 800.498074 420.759021 800.498074z\"></path></symbol><symbol id=\"icon-authenticationsystem\" viewBox=\"0 0 1024 1024\"><path d=\"M512 1024C229.376 1024 0 794.624 0 512 0 229.376 229.376 0 512 0c282.624 0 512 229.376 512 512C1024 794.624 794.624 1024 512 1024M798.72 409.6l-71.68 0 0-92.16c0 0 0-215.04-215.04-215.04C296.96 102.4 296.96 317.44 296.96 317.44L296.96 409.6 225.28 409.6l0 409.6 573.44 0L798.72 409.6zM512 163.84c143.36 0 153.6 129.024 153.6 153.6L665.6 409.6l-307.2 0 0-92.16C358.4 292.864 368.64 163.84 512 163.84M512 532.48c34.816 0 61.44 26.624 61.44 61.44 0 22.528-12.288 43.008-30.72 53.248l0 108.544-61.44 0 0-108.544C462.848 636.928 450.56 616.448 450.56 593.92 450.56 559.104 477.184 532.48 512 532.48\"></path></symbol><symbol id=\"icon-zhuye\" viewBox=\"0 0 1024 1024\"><path d=\"M950.32093 355.327728 532.539802 62.055334c-11.719926-8.227382-27.326369-8.27957-39.10053-0.12996L73.813123 352.339674c-15.481599 10.714016-19.34765 31.948643-8.636704 47.432289l1.376347 1.989307c10.653641 15.400758 31.775704 19.24839 47.176462 8.594749l399.109883-276.097222 397.069411 278.731212c15.442714 10.840906 36.749996 7.109931 47.590901-8.333806l1.168616-1.663896C969.525318 387.526057 965.788204 366.18603 950.32093 355.327728z\"></path><path d=\"M517.14416 188.411137 136.838551 446.971961l0 486.963791c0 18.896372 15.318894 34.215266 34.215266 34.215266l219.312938 0c18.896372 0 34.215266-15.318894 34.215266-34.215266L424.582021 653.936663l174.884053 0 0 279.999089c0 18.896372 15.318894 34.215266 34.215266 34.215266l219.696678 0c18.896372 0 34.215266-15.318894 34.215266-34.215266L887.593284 446.971961 517.14416 188.411137z\"></path></symbol><symbol id=\"icon-APIwendang\" viewBox=\"0 0 1024 1024\"><path d=\"M0 651.84768c0 92.3904 69.16608 169.05216 159.9744 183.84896l32.0256 2.56h316.78976l6.4256-0.88576 316.79488 0.88576 32.02048-2.56c90.8032-14.7968 159.96928-91.45856 159.96928-183.84896 0-81.1776-53.43232-150.25152-128.04608-175.85152-2.69824-160.768-137.77408-290.25792-303.94368-290.25792-119.85408 0-223.50848 67.3536-273.03424 165.23776-23.40864-25.13408-57.2928-40.96-94.99648-40.96-70.70208 0-128 55.66976-128 124.27264 0 17.92 3.91168 34.95936 10.89024 50.36032C43.56608 515.0976 0 578.53952 0 651.84768z m159.9744-150.8096l-15.36-40.26368a57.82528 57.82528 0 0 1-5.4016-24.52992c0-33.41824 33.792-83.08736 86.8096-83.08736 18.2016 0 39.51616 9.07776 51.712 21.97504l50.03776 34.76992 42.54208-56.73984c48.17408-71.81824 129.44384-121.20064 221.09184-121.20064 129.2544 0 256.83968 123.20256 258.88256 246.36416v43.65824l45.00992 12.05248c50.7392 17.08032 84.76672 63.0272 84.76672 114.31424 0 59.43808-60.88704 133.9136-122.22976 143.68768h-342.71744v0.36864h-6.4256v-0.36864H194.23744l-21.22752-1.67424c-61.34784-9.7792-129.11616-82.52928-129.11616-141.97248 0-46.48448 39.60832-120.96 116.08064-147.3536z\" fill=\"\"></path><path d=\"M256 654.2848h38.51776l28.97408-40.25856h72.19712l-1.00864 40.25856h35.53792l2.53952-182.1696h-41.6256L256 654.2848z m140.43648-70.5792H341.88288l56.91904-73.31328-2.36544 73.31328z m266.112-91.52c-3.21024-7.16288-8.36096-12.30336-15.47776-15.4112-7.11168-3.10272-17.24928-4.6592-30.41792-4.6592h-74.0608l-70.28224 182.1696h37.51936l26.78784-69.45792h23.98208c16.15872 0 27.24864-0.4096 33.29024-1.24928 10.34752-1.39776 18.74944-3.46112 25.1904-6.15936 6.43072-2.67776 12.69248-6.64064 18.80064-11.84768 6.08768-5.2224 11.6992-12.18048 16.78848-20.87936 5.09952-8.69888 8.448-17.64352 10.07104-26.83904 1.75104-9.94816 1.02912-18.5088-2.19136-25.66656z m-35.87072 28.76416c-1.16224 6.54848-4.1216 12.54912-8.89856 18.01728-4.77184 5.46816-10.7008 9.45152-17.77152 11.9296-7.06048 2.48832-20.50048 3.73248-40.28928 3.73248h-11.56096l20.33152-52.56192h26.83904c12.18048 0 19.91168 0.63488 23.2192 1.93024 3.28192 1.28 5.6576 3.31776 7.10144 6.144 1.44896 2.82112 1.792 6.4256 1.02912 10.80832z m103.92064-48.83456l-70.28224 182.1696h37.51936L768 472.1152h-37.4016z\" fill=\"\"></path></symbol><symbol id=\"icon-wendang\" viewBox=\"0 0 1024 1024\"><path d=\"M832 0H390.4c-19.2 0-38.4 12.8-51.2 25.6l-192 192c-12.8 12.8-19.2 32-19.2 44.8V960c0 38.4 32 64 64 64h620.8c32 0 83.2-25.6 83.2-64V64c0-32-32-64-64-64zM358.4 57.6v140.8c0 19.2-12.8 32-32 32H185.6L358.4 57.6zM864 960c0 12.8-25.6 32-51.2 32H192c-19.2 0-32-12.8-32-32V262.4h166.4c38.4 0 64-32 64-64V32H832c19.2 0 32 12.8 32 32v896zM729.6 217.6H505.6c-6.4 0-19.2 6.4-19.2 19.2 0 6.4 6.4 19.2 19.2 19.2h230.4c6.4 0 19.2-6.4 19.2-19.2-6.4-12.8-12.8-19.2-25.6-19.2z m0 147.2H294.4c-6.4 0-19.2 6.4-19.2 19.2 0 6.4 6.4 19.2 19.2 19.2h441.6c6.4 0 19.2-6.4 19.2-19.2-6.4-12.8-12.8-19.2-25.6-19.2z m0 166.4H294.4c-6.4 0-19.2 6.4-19.2 19.2 0 6.4 6.4 19.2 19.2 19.2h441.6c6.4 0 19.2-6.4 19.2-19.2-6.4-12.8-12.8-19.2-25.6-19.2z m0 147.2H294.4c-6.4 0-19.2 6.4-19.2 19.2 0 6.4 6.4 19.2 19.2 19.2h441.6c6.4 0 19.2-6.4 19.2-19.2-6.4-12.8-12.8-19.2-25.6-19.2z m0 166.4H288c-6.4 0-19.2 6.4-19.2 19.2 0 6.4 6.4 19.2 19.2 19.2h435.2c6.4 0 19.2-6.4 19.2-19.2 0-12.8-6.4-19.2-12.8-19.2z\"></path></symbol><symbol id=\"icon-tubiaozhizuomobanyihuifu-\" viewBox=\"0 0 1024 1024\"><path d=\"M923.71 718.26l0.65-0.8 0.52-0.66 0.68-0.91 0.42-0.59q0.36-0.52 0.7-1l0.31-0.49q0.37-0.59 0.73-1.2l0.21-0.37q0.38-0.67 0.73-1.35l0.13-0.26q0.38-0.74 0.72-1.5l0.07-0.15q0.36-0.8 0.69-1.62v-0.08q0.33-0.84 0.63-1.7 0.3-0.87 0.56-1.75v-0.06q0.25-0.87 0.47-1.75v-0.13c0.13-0.56 0.26-1.13 0.37-1.7v-0.26c0.1-0.53 0.19-1.06 0.27-1.59 0-0.16 0-0.32 0.06-0.49 0.06-0.46 0.12-0.93 0.17-1.4 0-0.29 0-0.58 0.07-0.87s0.06-0.7 0.08-1.06V122A113.63 113.63 0 0 0 819.64 8.52H217.45A113.63 113.63 0 0 0 104 122v780a113.63 113.63 0 0 0 113.5 113.5h407.34a39.8 39.8 0 0 0 19.41-5h0.06q0.82-0.46 1.61-0.95l0.32-0.21c0.44-0.28 0.87-0.56 1.3-0.86l0.5-0.35c0.36-0.26 0.72-0.52 1.07-0.79l0.6-0.47 0.92-0.75 0.65-0.56 0.83-0.75 0.64-0.61 0.78-0.78 0.35-0.35 268.3-283 0.28-0.31 0.65-0.72zM217.45 935.48A33.54 33.54 0 0 1 184 902V122a33.54 33.54 0 0 1 33.5-33.5h602.14a33.54 33.54 0 0 1 33.5 33.5v530.47h-154.8A113.63 113.63 0 0 0 584.84 766v169.48z m582.65-203L664.84 875.14V766a33.54 33.54 0 0 1 33.5-33.5z\" fill=\"#7B808B\"></path><path d=\"M315 286.51h358.53a40 40 0 0 0 0-80H315a40 40 0 0 0 0 80zM713.53 416.84a40 40 0 0 0-40-40H315a40 40 0 0 0 0 80h358.53a40 40 0 0 0 40-40zM523.53 547.17H315a40 40 0 0 0 0 80h208.53a40 40 0 0 0 0-80zM538.45 874.41H344a15 15 0 0 0 0 30h194.45a15 15 0 0 0 0-30z\" fill=\"#7B808B\"></path><path d=\"M288.51 889.41m-15 0a15 15 0 1 0 30 0 15 15 0 1 0-30 0Z\" fill=\"#7B808B\"></path></symbol><symbol id=\"icon-zdlxb\" viewBox=\"0 0 1024 1024\"><path d=\"M993.889598 704.576038l-41.044193 12.788439c1.179981 8.865801 2.455635 17.508362 2.455636 26.661186 0 9.057149-1.435112 17.859167-2.806441 26.533619l41.394998 12.884114c9.694976 2.806441 17.859167 9.376063 22.57909 18.241864 4.688031 8.865801 5.644772 19.262387 2.423745 28.829798-6.665296 19.708867-28.574668 30.360584-49.080819 24.046093l-41.873369-12.979788a207.389579 207.389579 0 0 1-32.178392 43.27659l25.544987 33.741069a36.388053 36.388053 0 0 1-8.61067 52.174281 39.896104 39.896104 0 0 1-54.438568-8.227973l-25.672553-33.900526a218.009405 218.009405 0 0 1-52.748326 17.093774v41.139867c0 20.601825-17.476471 37.408577-38.939363 37.408577-21.558566 0-39.003146-16.711078-39.003145-37.408577v-41.139867a217.818057 217.818057 0 0 1-52.780218-17.093774l-25.60877 33.900526a40.183126 40.183126 0 0 1-54.47046 8.227973 36.164814 36.164814 0 0 1-8.578778-52.174281l25.800118-34.059983a201.138871 201.138871 0 0 1-33.29459-42.702545l-40.916628 12.78844c-20.601825 6.442057-42.511196-4.337226-49.11271-24.046093a36.930206 36.930206 0 0 1 24.970943-47.071662l41.076084-12.724657c-1.148089-8.833909-2.519418-17.604036-2.519418-26.693077 0-9.184715 1.498894-17.859167 2.838332-26.661185l-41.42689-12.820331c-20.569934-6.442057-31.66813-27.490361-24.970942-47.135445 6.601514-19.613193 28.510885-30.296802 49.112709-24.014201l41.841478 13.04357a211.057087 211.057087 0 0 1 32.178392-43.372263l-25.513096-33.645396a36.451836 36.451836 0 0 1 8.578779-52.206172 39.959887 39.959887 0 0 1 54.47046 8.291756l25.640661 33.900526a214.469463 214.469463 0 0 1 52.748326-17.125665v-41.139868c0-20.633716 17.412688-37.408577 39.003146-37.408577 21.494783 0 38.971254 16.647295 38.971254 37.408577v41.076085a216.733751 216.733751 0 0 1 52.716435 17.157557l25.672553-33.932418a40.119343 40.119343 0 0 1 54.438568-8.291756c17.348905 12.182503 21.271544 35.495095 8.642561 52.238064l-25.832009 34.028092c12.724657 12.916005 24.365007 26.980099 33.358373 42.60687l40.884736-12.660874c20.538042-6.314491 42.415522 4.401009 49.080819 24.077985 6.76097 19.613193-4.528575 40.661497-25.002835 47.071662z m-252.898564-91.273101c-75.327416 0-136.463172 58.616338-136.463172 130.8184 0 72.265844 61.135756 130.754617 136.463172 130.754617 75.231742 0 136.39939-58.488773 136.39939-130.754617 0-72.202062-61.071974-130.8184-136.39939-130.8184z\"></path><path d=\"M441.690527 895.669127H99.528018a49.750537 49.750537 0 0 1-49.782429-49.782429V99.596749c0-27.45847 22.292068-49.782429 49.782429-49.782429h447.818617v223.909309a99.532966 99.532966 0 0 0 99.532966 99.532966h199.002149v36.451836a322.102837 322.102837 0 0 1 49.782429 32.018935V348.381326l-8.802018-8.770127 1.530785-8.802018-307.05011-330.713507H99.559909A99.532966 99.532966 0 0 0 0.026943 99.62864v746.321841a99.532966 99.532966 0 0 0 99.532966 99.532966h390.446043a322.963904 322.963904 0 0 1-48.315425-49.81432z\"></path><path d=\"M597.129064 91.145536l217.818057 232.32863h-168.06752a49.750537 49.750537 0 0 1-49.782428-49.750537V91.145536h0.031891zM174.185715 423.007132h248.784577v-49.750537H174.185715v49.750537zM422.970292 223.9412H174.185715v49.782429h248.784577V223.9412zM174.185715 744.057554h248.784577v-49.750537H174.185715v49.750537zM514.115828 545.023514H174.185715v49.750537h339.930113v-49.750537z\"></path></symbol><symbol id=\"icon-APIwendang1\" viewBox=\"0 0 1152 1024\"><path d=\"M526.272 56c-160.832 0-297.792 106.88-330.88 252.736C80 356.864 3.2 465.536 3.2 587.904c0 168.512 144.256 305.088 322.112 305.088h26.88c19.712 0 35.776-15.168 35.776-33.92 0-18.688-16-33.856-35.84-33.856h-26.816c-138.368 0-250.496-106.24-250.496-237.312 0-100.416 66.496-188.928 164.48-222.912l19.84-6.848 3.2-19.84c19.648-122.688 131.52-214.528 263.872-214.528 126.656 0 235.136 84.224 261.056 200l6.016 26.88h33.28c138.368 0 250.496 106.24 250.496 237.248 0 131.072-112.128 237.312-250.496 237.312h-148.288c-19.776 0-35.84 15.168-35.84 33.92 0 18.688 16.064 33.92 35.84 33.92h148.288c177.92 0 322.112-136.64 322.112-305.152 0-160.896-131.584-292.736-298.432-304.256C807.808 150.272 677.248 56 526.272 56zM370.944 418.304h47.616l97.664 255.552h-44.736l-23.232-64H341.248l-23.296 64H273.28l97.728-255.552z m-17.216 157.12h81.984l-40.064-112h-1.472l-40.448 112z m187.52-157.12h105.984c61.568 0 92.736 26.112 92.736 78.4 0 52.608-31.168 79.104-93.44 79.104h-63.36v98.048h-41.856V418.304z m41.92 35.84v85.888h60.8c18.688 0 32.256-3.584 40.832-10.048 8.64-6.784 12.928-17.92 12.928-33.28s-4.672-26.112-13.248-32.64c-8.576-6.72-22.208-9.984-40.448-9.984h-60.8z m192.576-35.84v255.552h41.856V418.304h-41.856z m-34.688 372.544a25.344 25.344 0 0 0-30.976-40.064l-140.672 108.608 141.184 103.68a25.344 25.344 0 1 0 29.952-40.768l-87.04-63.936 87.552-67.52z\" fill=\"#8F99AE\"></path></symbol><symbol id=\"icon-debug\" viewBox=\"0 0 1024 1024\"><path d=\"M1022.065 583.401c0 11.056-4.034 20.62-12.111 28.697-8.078 8.078-17.64 12.118-28.69 12.118H838.445c0 72.69-14.235 134.32-42.718 184.899l132.615 133.263c8.077 8.066 12.118 17.635 12.118 28.69 0 11.051-4.035 20.615-12.118 28.692-7.653 8.066-17.21 12.107-28.69 12.107-11.476 0-21.04-4.041-28.691-12.107L744.718 874.153c-2.125 2.118-5.31 4.884-9.559 8.284-4.259 3.398-13.18 9.463-26.785 18.172-13.599 8.715-27.415 16.473-41.44 23.276-14.03 6.798-31.462 12.966-52.29 18.493-20.827 5.518-41.447 8.286-61.842 8.286V379.387H471.19v571.277c-21.668 0-43.25-2.875-64.708-8.615-21.473-5.735-39.96-12.75-55.476-21.04-15.519-8.29-29.542-16.572-42.078-24.867-12.541-8.29-21.78-15.193-27.74-20.715l-9.558-8.932L154.95 998.48c-8.5 8.921-18.7 13.387-30.606 13.387-10.2 0-19.335-3.405-27.409-10.203-8.079-7.652-12.437-17.11-13.08-28.372-0.634-11.263 2.659-21.143 9.893-29.647l128.787-144.727c-24.65-48.465-36.98-106.7-36.98-174.71H42.739c-11.058 0-20.617-4.041-28.69-12.112-8.08-8.082-12.12-17.641-12.12-28.697 0-11.05 4.04-20.62 12.12-28.69 8.073-8.072 17.632-12.107 28.69-12.107h142.815V355.157L75.25 244.855c-8.075-8.078-12.114-17.641-12.114-28.692 0-11.05 4.045-20.62 12.114-28.69 8.072-8.077 17.64-12.123 28.692-12.123 11.057 0 20.612 4.052 28.692 12.123l110.302 110.302h538.129l110.303-110.302c8.07-8.077 17.632-12.123 28.69-12.123 11.05 0 20.618 4.052 28.69 12.123 8.078 8.07 12.119 17.64 12.119 28.69s-4.041 20.615-12.12 28.692L838.447 355.157v187.448h142.816c11.056 0 20.619 4.035 28.69 12.114 8.078 8.07 12.119 17.639 12.119 28.683h-0.006zM716.021 216.158H307.97c0-56.526 19.871-104.668 59.616-144.414 39.734-39.746 87.883-59.612 144.411-59.612 56.53 0 104.679 19.866 144.413 59.612 39.748 39.745 59.612 87.888 59.612 144.414z\" fill=\"\"></path></symbol></svg><noscript><strong>We're sorry but knife4j-vue doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=\"app\"><div data-v-5a04cf66=\"\" class=\"BasicLayout\"><section data-v-5a04cf66=\"\" class=\"ant-layout-has-sider ant-layout ant-layout-has-sider\"><aside data-v-5a04cf66=\"\" class=\"sider ant-layout-sider ant-layout-sider-dark\" style=\"flex: 0 0 320px; max-width: 320px; min-width: 320px; width: 320px; background: rgb(30, 40, 44);\"><div class=\"ant-layout-sider-children\"><div data-v-5a04cf66=\"\" class=\"knife4j-logo-data\"><a data-v-5a04cf66=\"\" to=\"/\" style=\"float: left;\"><div data-v-5a04cf66=\"\" tabindex=\"0\" class=\"ant-select ant-select-enabled\" style=\"width: 300px;\"><div role=\"combobox\" aria-autocomplete=\"list\" aria-haspopup=\"true\" aria-controls=\"2ad84ade-4e30-4b0d-ff9b-a9d135dcadaa\" class=\"ant-select-selection ant-select-selection--single\"><div class=\"ant-select-selection__rendered\"><div title=\"????\" class=\"ant-select-selection-selected-value\" style=\"display: block; opacity: 1;\">????</div><div class=\"ant-select-search ant-select-search--inline\" style=\"display: none;\"><div class=\"ant-select-search__field__wrap\"><input autocomplete=\"off\" value=\"\" class=\"ant-select-search__field\"><span class=\"ant-select-search__field__mirror\">&nbsp;</span></div></div></div><span unselectable=\"on\" class=\"ant-select-arrow\" style=\"user-select: none;\"><i aria-label=\"icon: down\" class=\"anticon anticon-down ant-select-arrow-icon\"><svg viewBox=\"64 64 896 896\" data-icon=\"down\" width=\"1em\" height=\"1em\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\" class=\"\"><path d=\"M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z\"></path></svg></i></span></div></div></a></div><!----><div data-v-5a04cf66=\"\" class=\"knife4j-menu\"><ul data-v-5a04cf66=\"\" role=\"menu\" class=\"ant-menu ant-menu-inline ant-menu-root ant-menu-dark\" style=\"padding: 2px 0px; width: 100%;\"><li data-v-5a04cf66=\"\" role=\"menuitem\" class=\"ant-menu-item\" style=\"padding-left: 24px;\"><a data-v-b45282ec=\"\" data-v-5a04cf66=\"\" href=\"http://localhost:8080/doc.html#/home\" aria-current=\"page\" class=\"router-link-exact-active router-link-active undefined\"><i data-v-b45282ec=\"\" class=\"anticon\"><svg width=\"1em\" height=\"1em\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\" class=\"\"><use data-v-b45282ec=\"\" xlink:href=\"#icon-home\"></use></svg></i><!----><!----><span data-v-b45282ec=\"\">主页</span></a></li><li data-v-5a04cf66=\"\" role=\"menuitem\" class=\"ant-menu-item\" style=\"padding-left: 24px;\"><a data-v-b45282ec=\"\" data-v-5a04cf66=\"\" href=\"http://localhost:8080/doc.html#/SwaggerModels/?%3F%3F\" class=\"undefined\"><i data-v-b45282ec=\"\" class=\"anticon\"><svg width=\"1em\" height=\"1em\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\" class=\"\"><use data-v-b45282ec=\"\" xlink:href=\"#icon-modeling\"></use></svg></i><!----><!----><span data-v-b45282ec=\"\">Swagger Models</span></a></li><li data-v-5a04cf66=\"\" role=\"menuitem\" class=\"ant-menu-submenu ant-menu-submenu-inline\"><div aria-haspopup=\"true\" class=\"ant-menu-submenu-title\" style=\"padding-left: 24px;\"><span data-v-73d487b8=\"\" data-v-5a04cf66=\"\"><i data-v-73d487b8=\"\" class=\"anticon\"><svg width=\"1em\" height=\"1em\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\" class=\"\"><use data-v-73d487b8=\"\" xlink:href=\"#icon-zdlxb\"></use></svg></i><!----><!----><span data-v-73d487b8=\"\">文档管理</span></span><i class=\"ant-menu-submenu-arrow\"></i></div><div></div></li><li data-v-5a04cf66=\"\" role=\"menuitem\" class=\"ant-menu-submenu ant-menu-submenu-inline\"><div aria-haspopup=\"true\" class=\"ant-menu-submenu-title\" style=\"padding-left: 24px;\"><span data-v-73d487b8=\"\" data-v-5a04cf66=\"\"><i data-v-73d487b8=\"\" class=\"anticon\"><svg width=\"1em\" height=\"1em\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\" class=\"\"><use data-v-73d487b8=\"\" xlink:href=\"#icon-APIwendang\"></use></svg></i><!----><span data-v-73d487b8=\"\" class=\"knife4j-menu-badge-num\">1</span><span data-v-73d487b8=\"\">首页模块</span></span><i class=\"ant-menu-submenu-arrow\"></i></div><div></div></li></ul></div></div></aside><section data-v-5a04cf66=\"\" class=\"ant-layout\"><header data-v-5a04cf66=\"\" class=\"ant-layout-header\" style=\"padding: 0px; background: rgb(255, 255, 255); height: 56px; line-height: 56px;\"><div data-v-328fc05a=\"\" data-v-5a04cf66=\"\" class=\"header knife4j-header-default knife4j-header-width\"><i data-v-328fc05a=\"\" aria-label=\"icon: menu-fold\" tabindex=\"-1\" class=\"trigger anticon anticon-menu-fold\"><svg viewBox=\"64 64 896 896\" data-icon=\"menu-fold\" width=\"1em\" height=\"1em\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\" class=\"\"><path d=\"M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z\"></path></svg></i><span data-v-328fc05a=\"\" class=\"knife4j-header-title\">Knife4j????</span><div data-v-328fc05a=\"\" class=\"right\"><span data-v-42139358=\"\" data-v-328fc05a=\"\" class=\"action search undefined headerSearch\"><div data-v-42139358=\"\" tabindex=\"-1\" class=\"ant-select ant-select-combobox ant-select-enabled ant-select-allow-clear ant-select-show-search ant-select-auto-complete input show\"><div role=\"combobox\" aria-autocomplete=\"list\" aria-haspopup=\"true\" aria-controls=\"392c96ba-4354-4dc9-8a0c-de8e266a7b18\" class=\"ant-select-selection ant-select-selection--single\"><div class=\"ant-select-selection__rendered\"><ul><li class=\"ant-select-search ant-select-search--inline\"><div class=\"ant-select-search__field__wrap\"><input data-v-42139358=\"\" placeholder=\"输入文档关键字搜索\" type=\"text\" value=\"\" class=\"ant-input ant-select-search__field\"><span class=\"ant-select-search__field__mirror\">&nbsp;</span></div></li></ul></div><span unselectable=\"on\" class=\"ant-select-arrow\" style=\"user-select: none;\"><i aria-label=\"icon: down\" class=\"anticon anticon-down ant-select-arrow-icon\"><svg viewBox=\"64 64 896 896\" data-icon=\"down\" width=\"1em\" height=\"1em\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\" class=\"\"><path d=\"M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z\"></path></svg></i></span></div></div><i data-v-42139358=\"\" aria-label=\"icon: search\" tabindex=\"-1\" class=\"anticon anticon-search\"><svg viewBox=\"64 64 896 896\" data-icon=\"search\" width=\"1em\" height=\"1em\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\" class=\"\"><path d=\"M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0 0 11.6 0l43.6-43.5a8.2 8.2 0 0 0 0-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z\"></path></svg></i></span><span data-v-328fc05a=\"\" class=\"action account ant-dropdown-trigger\"><span data-v-328fc05a=\"\" class=\"name\">中</span></span></div></div></header><ul data-v-17acf4b2=\"\" data-v-5a04cf66=\"\" role=\"menu\" class=\"contextmenu ant-menu ant-menu-vertical ant-menu-root ant-menu-light\" style=\"left: 0px; top: 0px; display: none;\"><li data-v-17acf4b2=\"\" role=\"menuitem\" class=\"ant-menu-item\"><i data-v-17acf4b2=\"\" aria-label=\"icon: caret-left\" class=\"anticon anticon-caret-left\"><svg viewBox=\"0 0 1024 1024\" data-icon=\"caret-left\" width=\"1em\" height=\"1em\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\" class=\"\"><path d=\"M689 165.1L308.2 493.5c-10.9 9.4-10.9 27.5 0 37L689 858.9c14.2 12.2 35 1.2 35-18.5V183.6c0-19.7-20.8-30.7-35-18.5z\"></path></svg></i>关闭左侧 </li><li data-v-17acf4b2=\"\" role=\"menuitem\" class=\"ant-menu-item\"><i data-v-17acf4b2=\"\" aria-label=\"icon: caret-right\" class=\"anticon anticon-caret-right\"><svg viewBox=\"0 0 1024 1024\" data-icon=\"caret-right\" width=\"1em\" height=\"1em\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\" class=\"\"><path d=\"M715.8 493.5L335 165.1c-14.2-12.2-35-1.2-35 18.5v656.8c0 19.7 20.8 30.7 35 18.5l380.8-328.4c10.9-9.4 10.9-27.6 0-37z\"></path></svg></i>关闭右侧 </li><li data-v-17acf4b2=\"\" role=\"menuitem\" class=\"ant-menu-item\"><i data-v-17acf4b2=\"\" aria-label=\"icon: close-circle\" class=\"anticon anticon-close-circle\"><svg viewBox=\"64 64 896 896\" data-icon=\"close-circle\" width=\"1em\" height=\"1em\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\" class=\"\"><path d=\"M685.4 354.8c0-4.4-3.6-8-8-8l-66 .3L512 465.6l-99.3-118.4-66.1-.3c-4.4 0-8 3.5-8 8 0 1.9.7 3.7 1.9 5.2l130.1 155L340.5 670a8.32 8.32 0 0 0-1.9 5.2c0 4.4 3.6 8 8 8l66.1-.3L512 564.4l99.3 118.4 66 .3c4.4 0 8-3.5 8-8 0-1.9-.7-3.7-1.9-5.2L553.5 515l130.1-155c1.2-1.4 1.8-3.3 1.8-5.2z\"></path><path d=\"M512 65C264.6 65 64 265.6 64 513s200.6 448 448 448 448-200.6 448-448S759.4 65 512 65zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"></path></svg></i>关闭其它 </li></ul><div data-v-5a04cf66=\"\" class=\"knife4j-tab ant-tabs ant-tabs-top ant-tabs-card ant-tabs-editable-card ant-tabs-no-animation\"><div role=\"tablist\" tabindex=\"0\" class=\"ant-tabs-bar ant-tabs-top-bar ant-tabs-card-bar\"><div class=\"ant-tabs-nav-container\"><span unselectable=\"unselectable\" class=\"ant-tabs-tab-prev ant-tabs-tab-btn-disabled\"><span class=\"ant-tabs-tab-prev-icon\"><i aria-label=\"icon: left\" class=\"anticon anticon-left ant-tabs-tab-prev-icon-target\"><svg viewBox=\"64 64 896 896\" data-icon=\"left\" width=\"1em\" height=\"1em\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\" class=\"\"><path d=\"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 0 0 0 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z\"></path></svg></i></span></span><span unselectable=\"unselectable\" class=\"ant-tabs-tab-next ant-tabs-tab-btn-disabled\"><span class=\"ant-tabs-tab-next-icon\"><i aria-label=\"icon: right\" class=\"anticon anticon-right ant-tabs-tab-next-icon-target\"><svg viewBox=\"64 64 896 896\" data-icon=\"right\" width=\"1em\" height=\"1em\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\" class=\"\"><path d=\"M765.7 486.8L314.9 134.7A7.97 7.97 0 0 0 302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 0 0 0-50.4z\"></path></svg></i></span></span><div class=\"ant-tabs-nav-wrap\"><div class=\"ant-tabs-nav-scroll\"><div class=\"ant-tabs-nav ant-tabs-nav-animated\"><div><div role=\"tab\" aria-disabled=\"false\" aria-selected=\"true\" class=\"ant-tabs-tab-active ant-tabs-tab\"><div class=\"ant-tabs-tab-unclosable\"><span data-v-5a04cf66=\"\" pagekey=\"kmain\">主页</span></div></div></div><div class=\"ant-tabs-ink-bar ant-tabs-ink-bar-animated\" style=\"display: block; transform: translate3d(0px, 0px, 0px); width: 58px;\"></div></div></div></div></div></div><div tabindex=\"0\" role=\"presentation\" style=\"width: 0px; height: 0px; overflow: hidden; position: absolute;\"></div><div class=\"ant-tabs-content ant-tabs-content-no-animated ant-tabs-top-content ant-tabs-card-content\"><div data-v-5a04cf66=\"\" role=\"tabpanel\" aria-hidden=\"false\" class=\"ant-tabs-tabpane ant-tabs-tabpane-active\"><div tabindex=\"0\" role=\"presentation\" style=\"width: 0px; height: 0px; overflow: hidden; position: absolute;\"></div><main data-v-6d5256a6=\"\" data-v-5a04cf66=\"\" class=\"knife4j-body-content ant-layout-content\"><div data-v-6d5256a6=\"\" class=\"ant-row\"><div data-v-6d5256a6=\"\" class=\"ant-col ant-col-24\"><div data-v-6d5256a6=\"\" class=\"title\"><h2 data-v-6d5256a6=\"\">Knife4j????</h2></div><div data-v-6d5256a6=\"\" class=\"description\"><div data-v-6d5256a6=\"\" class=\"content-line ant-row\"><div data-v-6d5256a6=\"\" class=\"ant-col ant-col-5\"><h3 data-v-6d5256a6=\"\">简介</h3></div><div data-v-6d5256a6=\"\" class=\"ant-col ant-col-19\"><span data-v-6d5256a6=\"\"><p><code>????</code>,<strong>????</strong> # aaa</p>\n" +
                "</span></div></div><div data-v-6d5256a6=\"\" role=\"separator\" class=\"divider ant-divider ant-divider-horizontal\"></div><div data-v-6d5256a6=\"\" class=\"content-line ant-row\"><div data-v-6d5256a6=\"\" class=\"ant-col ant-col-5\"><h3 data-v-6d5256a6=\"\">作者</h3></div><div data-v-6d5256a6=\"\" class=\"ant-col ant-col-19\"><span data-v-6d5256a6=\"\">????</span></div></div><div data-v-6d5256a6=\"\" role=\"separator\" class=\"divider ant-divider ant-divider-horizontal\"></div><div data-v-6d5256a6=\"\" class=\"content-line ant-row\"><div data-v-6d5256a6=\"\" class=\"ant-col ant-col-5\"><h3 data-v-6d5256a6=\"\">版本</h3></div><div data-v-6d5256a6=\"\" class=\"ant-col ant-col-19\"><span data-v-6d5256a6=\"\">v4.0</span></div></div><div data-v-6d5256a6=\"\" role=\"separator\" class=\"divider ant-divider ant-divider-horizontal\"></div><div data-v-6d5256a6=\"\" class=\"content-line ant-row\"><div data-v-6d5256a6=\"\" class=\"ant-col ant-col-5\"><h3 data-v-6d5256a6=\"\">host</h3></div><div data-v-6d5256a6=\"\" class=\"ant-col ant-col-19\"><span data-v-6d5256a6=\"\">localhost:8080</span></div></div><div data-v-6d5256a6=\"\" role=\"separator\" class=\"divider ant-divider ant-divider-horizontal\"></div><div data-v-6d5256a6=\"\" class=\"content-line ant-row\"><div data-v-6d5256a6=\"\" class=\"ant-col ant-col-5\"><h3 data-v-6d5256a6=\"\">basePath</h3></div><div data-v-6d5256a6=\"\" class=\"ant-col ant-col-19\"><span data-v-6d5256a6=\"\">/</span></div></div><div data-v-6d5256a6=\"\" role=\"separator\" class=\"divider ant-divider ant-divider-horizontal\"></div><div data-v-6d5256a6=\"\" class=\"content-line ant-row\"><div data-v-6d5256a6=\"\" class=\"ant-col ant-col-5\"><h3 data-v-6d5256a6=\"\">API服务条款</h3></div><div data-v-6d5256a6=\"\" class=\"ant-col ant-col-19\"><span data-v-6d5256a6=\"\">https://stackoverflow.com/</span></div></div><div data-v-6d5256a6=\"\" role=\"separator\" class=\"divider ant-divider ant-divider-horizontal\"></div><div data-v-6d5256a6=\"\" class=\"content-line ant-row\"><div data-v-6d5256a6=\"\" class=\"ant-col ant-col-5\"><h3 data-v-6d5256a6=\"\">分组名称</h3></div><div data-v-6d5256a6=\"\" class=\"ant-col ant-col-19\"><span data-v-6d5256a6=\"\">????</span></div></div><div data-v-6d5256a6=\"\" role=\"separator\" class=\"divider ant-divider ant-divider-horizontal\"></div><div data-v-6d5256a6=\"\" class=\"content-line ant-row\"><div data-v-6d5256a6=\"\" class=\"ant-col ant-col-5\"><h3 data-v-6d5256a6=\"\">分组Url</h3></div><div data-v-6d5256a6=\"\" class=\"ant-col ant-col-19\"><span data-v-6d5256a6=\"\">/v2/api-docs?group=????</span></div></div><div data-v-6d5256a6=\"\" role=\"separator\" class=\"divider ant-divider ant-divider-horizontal\"></div><div data-v-6d5256a6=\"\" class=\"content-line ant-row\"><div data-v-6d5256a6=\"\" class=\"ant-col ant-col-5\"><h3 data-v-6d5256a6=\"\">分组location</h3></div><div data-v-6d5256a6=\"\" class=\"ant-col ant-col-19\"><span data-v-6d5256a6=\"\">/v2/api-docs?group=????</span></div></div><div data-v-6d5256a6=\"\" role=\"separator\" class=\"divider ant-divider ant-divider-horizontal\"></div><div data-v-6d5256a6=\"\" class=\"content-line ant-row\"><div data-v-6d5256a6=\"\" class=\"ant-col ant-col-5\"><h3 data-v-6d5256a6=\"\">接口统计信息</h3></div><div data-v-6d5256a6=\"\" class=\"ant-col ant-col-19\"><div data-v-6d5256a6=\"\" class=\"content-line-count ant-row\"><div data-v-6d5256a6=\"\" class=\"ant-col ant-col-3\"> GET </div><div data-v-6d5256a6=\"\" class=\"ant-col ant-col-2\"><span data-v-6d5256a6=\"\" class=\"ant-tag ant-tag-has-color\" style=\"background-color: rgb(16, 142, 233);\">1</span></div><div data-v-6d5256a6=\"\" role=\"separator\" class=\"divider-count ant-divider ant-divider-horizontal\"></div></div></div></div></div></div></div></main><div tabindex=\"0\" role=\"presentation\" style=\"width: 0px; height: 0px; overflow: hidden; position: absolute;\"></div></div></div><div tabindex=\"0\" role=\"presentation\" style=\"width: 0px; height: 0px; overflow: hidden; position: absolute;\"></div></div><footer data-v-5a04cf66=\"\" class=\"ant-layout-footer\" style=\"padding: 0px;\"><div data-v-7454657e=\"\" data-v-5a04cf66=\"\" class=\"globalFooter\"><div data-v-7454657e=\"\" class=\"ant-row\"><div data-v-7454657e=\"\" class=\"copyright\">Apache License 2.0 | Copyright <i data-v-7454657e=\"\" aria-label=\"icon: copyright\" class=\"anticon anticon-copyright\"><svg viewBox=\"64 64 896 896\" data-icon=\"copyright\" width=\"1em\" height=\"1em\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\" class=\"\"><path d=\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm5.6-532.7c53 0 89 33.8 93 83.4.3 4.2 3.8 7.4 8 7.4h56.7c2.6 0 4.7-2.1 4.7-4.7 0-86.7-68.4-147.4-162.7-147.4C407.4 290 344 364.2 344 486.8v52.3C344 660.8 407.4 734 517.3 734c94 0 162.7-58.8 162.7-141.4 0-2.6-2.1-4.7-4.7-4.7h-56.8c-4.2 0-7.6 3.2-8 7.3-4.2 46.1-40.1 77.8-93 77.8-65.3 0-102.1-47.9-102.1-133.6v-52.6c.1-87 37-135.5 102.2-135.5z\"></path></svg></i> 2019-<a data-v-7454657e=\"\" target=\"_blank\" href=\"https://gitee.com/xiaoym/knife4j\">Knife4j-v4.4.0</a></div></div></div></footer></section></section></div></div><script src=\"./doc_files/chunk-vendors.d51cf6f8.js\"></script><script src=\"./doc_files/app.9fa057ee.js\"></script><div style=\"position: static; width: 0px; height: 0px; border: none; padding: 0px; margin: 0px;\"><div id=\"trans-tooltip\"><div id=\"tip-left-top\" style=\"background: url(&quot;chrome-extension://ikkepelhgbcgmhhmcmpfkjmchccjblkd/imgs/map/tip-left-top.png&quot;);\"></div><div id=\"tip-top\" style=\"background: url(&quot;chrome-extension://ikkepelhgbcgmhhmcmpfkjmchccjblkd/imgs/map/tip-top.png&quot;) repeat-x;\"></div><div id=\"tip-right-top\" style=\"background: url(&quot;chrome-extension://ikkepelhgbcgmhhmcmpfkjmchccjblkd/imgs/map/tip-right-top.png&quot;);\"></div><div id=\"tip-right\" style=\"background: url(&quot;chrome-extension://ikkepelhgbcgmhhmcmpfkjmchccjblkd/imgs/map/tip-right.png&quot;) repeat-y;\"></div><div id=\"tip-right-bottom\" style=\"background: url(&quot;chrome-extension://ikkepelhgbcgmhhmcmpfkjmchccjblkd/imgs/map/tip-right-bottom.png&quot;);\"></div><div id=\"tip-bottom\" style=\"background: url(&quot;chrome-extension://ikkepelhgbcgmhhmcmpfkjmchccjblkd/imgs/map/tip-bottom.png&quot;) repeat-x;\"></div><div id=\"tip-left-bottom\" style=\"background: url(&quot;chrome-extension://ikkepelhgbcgmhhmcmpfkjmchccjblkd/imgs/map/tip-left-bottom.png&quot;);\"></div><div id=\"tip-left\" style=\"background: url(&quot;chrome-extension://ikkepelhgbcgmhhmcmpfkjmchccjblkd/imgs/map/tip-left.png&quot;);\"></div><div id=\"trans-content\"></div></div><div id=\"tip-arrow-bottom\" style=\"background: url(&quot;chrome-extension://ikkepelhgbcgmhhmcmpfkjmchccjblkd/imgs/map/tip-arrow-bottom.png&quot;);\"></div><div id=\"tip-arrow-top\" style=\"background: url(&quot;chrome-extension://ikkepelhgbcgmhhmcmpfkjmchccjblkd/imgs/map/tip-arrow-top.png&quot;);\"></div></div></body><merlin-component id=\"merlin-uicomponentportal\" class=\"merlin merlin-uicomponentportal\"></merlin-component></html>";
        Headers headers = response.getHeaders();
        headers.add("Content-Type", "text/html; charset=utf-8");
        headers.add("Access-Control-Allow-Origin", "*");
        headers.add("Access-Control-Allow-Methods", "GET");
        headers.add("Access-Control-Allow-Headers", "Origin,X-Requested-With,Content-Type,Accept");
        OutputStream outputStream = response.getOutputStream();
        //将响应结果写到外面
//        byte[] decodedBytes = Base64.getDecoder().decode(strHtml);
//        String decodedString = new String(decodedBytes);

        response.send(200, strHtml);
        outputStream.write(strHtml.getBytes(StandardCharsets.UTF_8));
        return new ModelAndView();
    }

    @RequestMapping("/4")
    public HtmlView api4(Response response) throws IOException {
        engine.setDevMode(true);
        engine.setToClassPathSourceFactory();
        Kv kv = Kv.create();
        Template template = engine.getTemplate("/index.html");
        String str = template.renderToString(kv);
        return new HtmlView(str);
    }
    @RequestMapping("/5")
    public HtmlView api5(Response response) throws IOException {
        engine.setDevMode(true);
        engine.setToClassPathSourceFactory();
        Kv kv = Kv.create();
        Template template = engine.getTemplate("/doc.html");
        String str = template.renderToString(kv);
        return new HtmlView(str);
    }
}